---
title: clsPolicyHeaderAssociation
summary: API reference for clsPolicyHeaderAssociation.
status: draft
owner: SAIF Corporation
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# clsPolicyHeaderAssociation

`clsPolicyHeaderAssociation` is the current association-header record used by the modern policy-association model. `clsPolicyHeaderAssociationFactory` builds these objects after grouping raw association rows by association type, and each instance presents the relationship type, parent/child direction, policy identity, agency context, status text, and effective date span for one associated policy.

## Purpose
- Represent one grouped policy-to-policy association in the current associations model.
- Carry the resolved association type object chosen by `clsPolicyHeaderAssociationFactory`, including any preferred-type override behavior summarized by [BR-VP-015](../../business-rules.md#br-vp-015-preferred-association-type-overrides-derived-type).
- Expose the policy identity, relationship direction, and date span that callers need when rendering associated-policy headers.

## Context
- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.Business.View.Policy` (embedded)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `AssociationType` | `Public ReadOnly Property AssociationType As IPolicyAssociationType` | Returns the resolved association type assigned to this header row. |
| `IsParent` | `Public ReadOnly Property IsParent As Boolean` | Indicates whether the associated policy is the parent side of the relationship. |
| `PolicyNumber` | `Public ReadOnly Property PolicyNumber As Decimal` | Returns the associated policy number shown in the header. |
| `PolicyName` | `Public ReadOnly Property PolicyName As String` | Returns the associated policy's name in title case for display. |
| `AgentNumber` | `Public ReadOnly Property AgentNumber As Decimal` | Returns the associated policy's agent number. |
| `AgencySeqNum` | `Public ReadOnly Property AgencySeqNum As Decimal` | Returns the associated policy's agency sequence number. |
| `PolicyStatusDescription` | `Public ReadOnly Property PolicyStatusDescription As String` | Returns the associated policy's status description in title case for display. |
| `PeriodEffectiveDate` | `Public ReadOnly Property PeriodEffectiveDate As Date` | Returns the beginning of the associated policy period range when one was supplied. |
| `PeriodExpirationDate` | `Public ReadOnly Property PeriodExpirationDate As Date` | Returns the end of the associated policy period range when one was supplied. |
| `Equals` | `Public Shadows Function Equals(inAssociation As IPolicyAssociation) As Boolean` | Compares this header against another association by type, policy number, and parent/child direction. |

## Behavioral notes
- The constructor overload that accepts `NonTypedAssociation` copies policy identity, agent/agency, status, and date-range values from the raw lookup row into the header object.
- `PolicyName` and `PolicyStatusDescription` normalize stored text with `ToTitleCase` before returning it, so the header acts as a presentation-ready projection rather than a raw row carrier.*
- When no period range is supplied, the effective and expiration dates remain their default values because the constructor assigns them only when `inPolicyPeriodRange IsNot Nothing`.*

## Constraints and usage notes
- This type is a pure in-memory model; it has no criteria class or direct database retrieval of its own.
- Unresolved association-type codes are handled upstream by constructing the header with `clsUnknownAssociationTypeCode`, as noted in the association workflow summary.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.View.Policy/Associations/clsPolicyAssociation.vb`
- `SAIF.Business.View.Policy/Associations/clsPolicyAssociationFactory.vb`
